package com.czk.scala.chapter03

/**
 * @Author:ChenZhangKun
 * @Date: 2021/12/7 13:29
 */
object Test01_TestOperator {
  def main(args: Array[String]): Unit = {
    // 算数运算符
    val result1: Int = 10 / 3
    println(result1)

    val result3: Double = 10.0 / 3
    println(result3)
    // 保留2位小数
    println(result3.formatted("%.2f"))

    val result4: Int = 10 % 3
    println(result4)

    // 比较运算符
    val s1: String="hello"
    val s2: String=new String("hello")
    // true->与java不同，相当于调用了equals方法，而不是比较的地址
    println(s1==s2)
    // 比较引用的地址是否相等
    println(s1.eq(s2))
    // 比较值
    println(s1.equals(s2))

    val a=60
    // 480 相当于60*2的三次方
    println(a<<3)
    println(a>>2)
    val b: Short= 13
    println(b.toBinaryString)
    println(b<<2)
    println(b>>2)

    val i: Int=7
    println(i.toBinaryString)

    val n1: Int=12
    val n2: Int=37
    // 运算符的本质都是加法的调用
    println(n1.+(n2))
    // 可以省略.调用
    println(7.5 toInt)
  }
}
